The Role of Feedback Loops in Dynamical Symptom Networks
Kyuri Park
Feb 7 2025
Motivation
“Once depression or anxiety hits, a feedback loop from hell can begin. We start to feel depressed about being depressed, anxious about feeling anxious. Fighting a negative experience is a negative experience in itself. To prevent this feedback loop, we should accept our pain, not fight it.” — Mark Manson, The Subtle Art of Not Giving a F*ck
Motivation (cont.)
As with most systemic conditions, feedback loops are likely to play a key role in explaining the observed patterns of depression. (Wittenborn et al. 2016)
Mental disorder is produced by direct causal interactions between symptoms that reinforce each other via feedback loops. (Borsboom and Cramer 2013).
The sensitivity level of \(S_i\) to external triggering factors.
\(\alpha\)
The elements of the weight matrix \(\mathbf{A}\). \(\alpha_{ij}\) refers to the weight of the edge \(S_i \rightarrow S_j\) and \(\alpha_{ii}\) refers to the weight of the self-reinforcing loop of \(S_i\).
\(\delta_i\)
The boosting factor that amplifies the effect of other \(S_j\)’s on \(S_i\).
\(\sigma_i\)
The scaling factor that controls the strength of the stochastic term.
Simulation steps
flowchart TD
A(1. Set a reference network) --> B(2. Generate synthetic networks)
B --> C(3. Extract topological features)
C --> D(4. Simulate symptom dynamics)
%% Apply different colors to each node
style A fill:#F4B9AD,stroke:#333,stroke-width:2px;
style B fill:#CADBF9,stroke:#333,stroke-width:2px;
style C fill:#CADBF9,stroke:#333,stroke-width:2px;
style D fill:#CADBF9,stroke:#333,stroke-width:2px;
%% Apply different colors to arrows
Our reference model:
Simulation steps
flowchart TD
A(1. Set a reference network) --> B(2. Generate synthetic networks)
B --> C(3. Extract topological features)
C --> D(4. Simulate symptom dynamics)
%% Apply different colors to each node
style A fill:#CADBF9,stroke:#333,stroke-width:2px;
style B fill:#F4B9AD,stroke:#333,stroke-width:2px;
style C fill:#CADBF9,stroke:#333,stroke-width:2px;
style D fill:#CADBF9,stroke:#333,stroke-width:2px;
Our reference model:
The total number of possible network configurations is \(2^n\), where \(n\) is the number of independent edges.
There are 17 edges — two are dependent: a feedback loop between sad and guilt).
The feedback loop itself can have 3 distinct configurations.
The total number of unique network configurations derivable from our example network is \(2^{15} \times 3 =\) 98,304.
Simulation steps
flowchart TD
A(1. Set a reference network) --> B(2. Generate synthetic networks)
B --> C(3. Extract topological features)
C --> D(4. Simulate symptom dynamics)
%% Apply different colors to each node
style A fill:#CADBF9,stroke:#333,stroke-width:2px;
style B fill:#CADBF9,stroke:#333,stroke-width:2px;
style C fill:#F4B9AD,stroke:#333,stroke-width:2px;
style D fill:#CADBF9,stroke:#333,stroke-width:2px;
%% Apply different colors to arrows
\(\{d_i^{in}\}_{i \in V}\) and \(\{d_i^{out}\}_{i \in V}\) represent the sets of weighted in-degrees and out-degrees, respectively, for all nodes in \(V\).
Simulation steps
flowchart TD
A(1. Set a reference network) --> B(2. Generate synthetic networks)
B --> C(3. Extract topological features)
C --> D(4. Simulate symptom dynamics)
%% Apply different colors to each node
style A fill:#CADBF9,stroke:#333,stroke-width:2px;
style B fill:#CADBF9,stroke:#333,stroke-width:2px;
style C fill:#CADBF9,stroke:#333,stroke-width:2px;
style D fill:#F4B9AD,stroke:#333,stroke-width:2px;
%% Apply different colors to arrows
Simulate dynamics of 9 symptoms over 2000 time points.
Introduce a shock at \(t\) = 50 that lasts for 300 time points.
Run 50 simulations per each of 98,304 network configurations.
Aggregate symptom values recorded at \(t\) = 400, 800, 1200, 1600, 2000.